/*
 * ElementoDT.h - Grupo 5 - Prog. Avanzada 2011
 *
 *  Javier Dominguez - 4.901.161-6
 *  Marcelo Parada - 1.977.094-9
 *  Rodrigo Ruiz - 4.481.611-2
 *  Maximiliano Silvera - 4.106.938-6
 */

#ifndef ELEMENTODT_H_
#define ELEMENTODT_H_

#include "../util/collections/ICollectible.h"
#include <iosfwd>

using namespace std;

class ElementoDT: public ICollectible
{
public:
	ElementoDT();

	// Metodo abstracto a implementar por sus hijos (ArtistaDT, AlbumDT, TemaDT)
	virtual int tipoElementoDT() = 0;

	// Heredado de icollectible, debe implementarse por sus hijos
	virtual bool same(ICollectible*) = 0;

	// Heredado de icollectible, debe implementarse por sus hijos
	virtual string toString() = 0;

	virtual ~ElementoDT();
};

#endif /* ELEMENTODT_H_ */
